Fix bugs in frame table setup function when memory hot-add.
authorKeir Fraser <keir.fraser@citrix.com>
Mon, 21 Dec 2009 10:47:34 +0000 (10:47 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Mon, 21 Dec 2009 10:47:34 +0000 (10:47 +0000)
Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
xen/arch/x86/x86_64/mm.c

index 84b483a49749a678bc8746012e5aba1da4d07148..a6954c743e4965b24463396b7731b2cbe7aa5cf1 100644 (file)
@@ -840,7 +840,8 @@ void cleanup_frame_table(struct mem_hotadd_info *info)
     eva = (unsigned long)pdx_to_page(pfn_to_pdx(epfn));
 
     /* Intialize all page */
-    memset(mfn_to_page(spfn), -1, mfn_to_page(epfn) - mfn_to_page(spfn));
+    memset(mfn_to_page(spfn), -1,
+           (unsigned long)mfn_to_page(epfn) - (unsigned long)mfn_to_page(spfn));
 
     while (sva < eva)
     {
@@ -932,7 +933,8 @@ int extend_frame_table(struct mem_hotadd_info *info)
         cidx = find_next_zero_bit(pdx_group_valid, eidx, nidx);
     }
 
-    memset(mfn_to_page(spfn), 0, mfn_to_page(epfn) - mfn_to_page(spfn));
+    memset(mfn_to_page(spfn), 0,
+           (unsigned long)mfn_to_page(epfn) - (unsigned long)mfn_to_page(spfn));
     return 0;
 }